<?php
header("Content-type:text/html;charset=utf-8");
/*************************** api开发辅助函数 **********************/
/**
 * 返回正确的提示信息,不带返回数据
 */


function success(){
    $result=array(
        'code'=>200,
        'msg'=>'成功',
    	'infor'=>""
    );
    return $result;
}
function success1($msg){
    $result=array(
        'code'=>200,
        'msg'=>$msg,
    	'infor'=>""
    );
    return $result;
}
function success2($msg){
    $result=array(
        'code'=>200,
        'msg'=>$msg,
        'infor'=>array()
    );
    return $result;
}
/**
 * 返回正确的提示信息,带返回数据
 *@param $re -- 要返回的数据
 */
function success_re($msg=null,$re){
    $result=array(
        'code'=>200,
        'msg'=>$msg,
        'infor'=>$re
    );
    return $result;
}
/**
 * 返回正确的提示信息,带返回数据
 *@param $re -- 要返回的数据
 */
function error($msg=null){
    $result=array(
        'code'=>-400,
        'msg'=>$msg,
    	'infor'=>""
    );
    return $result;
}
function error_1($msg=null){
    $result=array(
        'code'=>-10,
        'msg'=>$msg,
        'infor'=>""
    );
    return $result;
}
function error_2($msg=null){
    $result=array(
        'code'=>-20,
        'msg'=>$msg,
        'infor'=>""
    );
    return $result;
}
function error_3($msg=null){
    $result=array(
        'code'=>-30,
        'msg'=>$msg,
        'infor'=>""
    );
    return $result;
}
/**
* 验证手机号是否正确
* @author sun sir
* @param INT $mobile
*/
function isMobile($mobile) {
    if (!is_numeric($mobile)) {
        return false;
    }
    return preg_match('#^13[\d]{9}$|^14[5,7]{1}\d{8}$|^15[^4]{1}\d{8}$|^17[0,6,7,8]{1}\d{8}$|^18[\d]{9}$#', $mobile) ? true : false;
}
/**
 * 返回当前周几
 *@param $re -- 要返回的数据
 */
function week(){
    $num=date('N',time());
    if($num==1){
        $week="星期一";
    }elseif($num==2){
        $week="星期二";
    }elseif($num==3){
        $week="星期三";
    }elseif($num==4){
        $week="星期四";
    }elseif($num==5){
        $week="星期五";
    }elseif($num==6){
        $week="星期六";
    }elseif($num==7){
        $week="星期日";
    }
    return $week;
}

function qrcode($url,$size=4){
    header("Content-type:image/png");
    Vendor('Phpqrcode.phpqrcode');
    
    QRcode::png($url,false,QR_ECLEVEL_L,$size,1,false,0xFFFFFF,0x000000);
}
/** 
         * google api 二维码生成【QRcode可以存储最多4296个字母数字类型的任意文本，具体可以查看二维码数据格式】 
         * @param string $chl 二维码包含的信息，可以是数字、字符、二进制信息、汉字。 
         *不能混合数据类型，数据必须经过UTF-8 URL-encoded 
         * @param int $widhtHeight 生成二维码的尺寸设置 
         * @param string $EC_level 可选纠错级别，QR码支持四个等级纠错，用来恢复丢失的、读错的、模糊的、数据。 
         * L-默认：可以识别已损失的7%的数据 
         * M-可以识别已损失15%的数据 
         * Q-可以识别已损失25%的数据 
         * H-可以识别已损失30%的数据 
         * @param int $margin 生成的二维码离图片边框的距离 
         */
        function generateQRfromGoogle($chl,$widhtHeight ='150',$EC_level='L',$margin='0') 
        { 
         $chl = urlencode($chl); 
         echo '<img src="http://chart.apis.google.com/chart?chs='.$widhtHeight.'x'.$widhtHeight.' 
         &cht=qr&chld='.$EC_level.'|'.$margin.'&chl='.$chl.'" alt="QR code" widhtHeight="'.$widhtHeight.'
         " widhtHeight="'.$widhtHeight.'"/>'; 
        }

    /*
    生成随机唯一邀请码
    */
    function make_coupon_card() {   
    $code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $rand = $code[rand(0,25)]
        .strtoupper(dechex(date('m')))
        .date('d').substr(time(),-5)
        .substr(microtime(),2,5)
        .sprintf('%02d',rand(0,99));
    for(
        $a = md5( $rand, true ),
        $s = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ',
        $d = '',
        $f = 0;
        $f < 6;
        $g = ord( $a[ $f ] ),
        $d .= $s[ ( $g ^ ord( $a[ $f + 8 ] ) ) - $g & 0x1F ],
        $f++
    );
    return $d;
}

function substr_cut($user_name){
    $strlen     = mb_strlen($user_name, 'utf-8');
    $firstStr     = mb_substr($user_name, 0, 1, 'utf-8');
    $lastStr     = mb_substr($user_name, -1, 1, 'utf-8');
    return $strlen == 2 ? $firstStr . str_repeat('*', mb_strlen($user_name, 'utf-8') - 1) : $firstStr . str_repeat("*", $strlen - 2) . $lastStr;
} 
function array_remove_empty(&$arr, $trim = true)
{
    foreach ($arr as $key => $value) {
        if (is_array($value)) {
            array_remove_empty($arr[$key]);
        } else {
            $value = trim($value);
            if ($value == '') {
                unset($arr[$key]);
            } elseif ($trim) {
                $arr[$key] = $value;
            }
        }
    }
}

function array_sort($arr,$keys,$orderby='asc',$key='no'){
    $keysvalue = $new_array = array();
    foreach($arr as $k=>$v){
        $keysvalue[$k] = $v[$keys];
    }
    if($orderby=='asc'){
        asort($keysvalue);
    }else{
        arsort($keysvalue);
    }
    reset($keysvalue);
    foreach($keysvalue as $k=>$v){
        if($key=='yes'){
            $new_array[$k] = $arr[$k];
        }else{
            $new_array[] = $arr[$k];
        }
    }
    return $new_array;
}
function array_sortss($array, $key){
    if(is_array($array)){
        $key_array = null;
        $new_array = null;
        for( $i = 0; $i < count( $array ); $i++ ){
            $key_array[$array[$i][$key]] = $i;
        }
        ksort($key_array);
        $j = 0;
        foreach($key_array as $k => $v){
            $new_array[$j] = $array[$v];
            $j++;
        }
        unset($key_array);
        return $new_array;
    }else{
        return $array;
    }
}       
?>